import * as React from 'react'; import { SearchFieldProps, SelectField, TextField, Flex, SwitchField, } from '@aws-amplify/ui-react'; export interface SearchFieldPropControlsProps extends SearchFieldProps { setLabel: (value: React.SetStateAction) => void; setPlaceholder: ( value: React.SetStateAction ) => void; setSize: (value: React.SetStateAction) => void; setVariation: ( value: React.SetStateAction ) => void; setHasSearchButton: ( value: React.SetStateAction ) => void; setHasSearchIcon: ( value: React.SetStateAction ) => void; setLabelHidden: ( value: React.SetStateAction ) => void; setIsDisabled: ( value: React.SetStateAction ) => void; } interface SearchFieldPropControlsInterface { (props: SearchFieldPropControlsProps): JSX.Element; } export const SearchFieldPropControls: SearchFieldPropControlsInterface = ({ label, setLabel, placeholder, setPlaceholder, size, setSize, variation, setVariation, hasSearchButton, setHasSearchButton, hasSearchIcon, setHasSearchIcon, labelHidden, setLabelHidden, isDisabled, setIsDisabled, }) => { return ( { setLabel(event.target.value as SearchFieldProps['label']); }} /> { setPlaceholder(event.target.value as SearchFieldProps['placeholder']); }} /> setSize(event.target.value as SearchFieldProps['size']) } > setVariation( event.target.value as unknown as SearchFieldProps['variation'] ) } > { setHasSearchButton( Boolean(event.target.checked) as SearchFieldProps['hasSearchButton'] ); }} /> { setHasSearchIcon( Boolean(event.target.checked) as SearchFieldProps['hasSearchIcon'] ); }} /> { setLabelHidden( Boolean(event.target.checked) as SearchFieldProps['labelHidden'] ); }} /> { setIsDisabled( Boolean(event.target.checked) as SearchFieldProps['isDisabled'] ); }} /> ); };